//引入express模块
const express = require("express")

//创建一个路由
const route = express.Router()

//引用数据库集合模块
const adminModel = require("../db/model/adminModel")

// 引入md5模块
var md5 = require('md5');

//引入jwt中的jwtEncode加码方法
const {
    jwtEncode
} = require("../utils/jwt")

//设置登录路由
route.post("/login", async (req, res) => {
    const {
        adminName,
        password
    } = req.body
    // console.log(adminName, password);

    try {
        const findResult = await adminModel.findOne({
            adminName,
            password: md5(password + "18069277360")
        })
        //查询不到的情况
        if (!findResult) {
            return res.send({
                code: 10002,
                msg: "登陆异常，账号或密码错误",
                data: null
            })
        }
        // console.log(findResult);
        //如果查询到了,根据我们封装的jwt规范生成一个token响应给用户        
        const userToken = jwtEncode(findResult.adminName, "18069277360")
        // console.log(userToken);
        //登陆成功以后要把数据库当前的状态要改为1
        await adminModel.updateOne({
            adminName
        }, {
            $set: {
                status: 1
            }
        })

        res.send({
            code: 10000,
            msg: "登陆成功",
            data: {
                userToken
            }
        })
    } catch (e) {
        console.log("登录查询时发生异常，", e.message);
        res.send({
            code: 10001,
            msg: "登陆查询时发生异常：" + e.message,
            data: null
        })
    }

})

//暴露
module.exports = route